package com.shunli.cterminal.model.req;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;
import java.util.List;

import static com.examples.core.tool.utils.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;


@Schema(description = "管理后台 - 策略配置分页 Request VO")
@Data
@ToString(callSuper = true)
public class StrategyReq {

    @Schema(description = "产品标示", example = "15817")
    private String appId;

    @Schema(description = "策略名称", example = "张三")
    private String name;

    @Schema(description = "策略分类ID", example = "20714")
    private Long strategyCategoryId;

    @Schema(description = "策略分类名称", example = "芋艿")
    private String strategyCategoryName;

    @Schema(description = "策略分类类型", example = "2")
    private String strategyCategoryType;

    @Schema(description = "广告平台")
    private String adPlatform;

    @Schema(description = "广告账户列表（手动指定）")
    private String adAccountIds;

    @Schema(description = "广告计划列表（手动指定）")
    private String adCampaignIds;

    @Schema(description = "广告单元列表（手动指定）")
    private String adGroupIds;

    @Schema(description = "用户id列表（手动指定）")
    private String uids;

    @Schema(description = "策略事件ids", example = "27345")
    private String strategyEventIds;

    /*

    @Schema(description = "策略事件id", example = "27345")
    private Long strategyEventId;

    @Schema(description = "策略事件的名称", example = "王五")
    private String strategyEventName;
    */
    @Schema(description = "广告类型", example = "1")
    private Integer adType;


    @Schema(description = "策略参数")
    private String params;

    @Schema(description = "比例")
    private Integer rate;

    @Schema(description = "描述", example = "随便")
    private String description;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;


    private List<Long> ids;

}